package exercises.leetcode;

/**
 * <a href="https://leetcode-cn.com/problems/maximum-subarray/">
 * 53. 最大子序和</a>
 *
 * @author or2
 * @Description 给定一个整数数组 nums ，找到一个具有最大和的连续子数组（子数组最少包含一个元素），返回其最大和。
 * @create 2021年09月19日 时间: 14:15
 */
public class No53 {
    public int maxSubArray(int[] nums) {
        int ans = nums[0];
        for (int i = 1; i < nums.length; i++) {
            if (nums[i - 1] > 0) {
                nums[i] += nums[i - 1];
            }
            if (nums[i] > ans) {
                ans = nums[i];
            }
        }

        return ans;
    }
}
